6.4.2 -
Les protocoles
réseaux :
6.4.2.A - Le protocole IP :
6.4.2.A.1 - Le protocole IP version
4 :
Le format de la trame IPv4 est le suivant :
Figure 15 : Le format de la trame
IPv4
6.4.2.A.1.a - Les faiblesses d’IP version
4 :
Le problème le plus connu concerne l'espace d'adressage. Les
adresses IP sont actuellement stockées sur 32 bits ce qui permet environ
plus de quatre milliards d'adresses, ce qui était suffisant lors de sa
mise en place. Ce n’est plus le cas maintenant.
Un autre
problème est celui posé par l'explosion de la taille des tables de
routage dans l'Internet. Le routage, dans un très grand réseau,
doit être hiérarchique avec une profondeur d'autant plus importante
que le réseau est grand. Le routage IP n'est hiérarchique
qu'à trois niveaux : réseau, sous-réseau et
machine.
IPv4 ne permet pas d'indiquer de façon pratique le type de
données transportées (TOS ou Type Of Service dans IPv4).
Enfin,
IPv4 ne fournit pas de mécanismes de sécurité comme
l'authentification des paquets, leur intégrité ou leur
confidentialité. Il a toujours été considéré
que ces techniques étaient de la responsabilité des applications
elles-mêmes.
6.4.2.A.2 - Le protocole IP version
6 :
Le format de la trame IPv6 est le suivant :
Figure 16 : Le format de la trame
IPv6
Bien que plus longue que la version 4 d'IP, l'en-tête
d’IPv6 a été simplifiée.
- Version (4 bits): ce champ défini le numéro de version du
Protocole IP.
- Flow Label (28 bits): ce champ peut être utilisé par une
station pour « marquer » certains paquets afin qu'ils
suivent un routage particulier dans un réseau.
- Payload Length (16 bits): longueur des données après
l'en-tête IPv6 en octets.
- Entête suivant (8 bits): il identifie le type d'en-tête suivant
immédiatement l'en-tête IPv6. Ce champ est le même que le
champ protocole d'IPv4.
- Hop limit (8 bits): utilisé pour détruire les paquets qui
pourraient rester dans le réseau à la suite de boucles dues aux
tables de routage.
- Adresse IP source (128 bits): champ adresse de l'émetteur du
datagramme.
- Adresse IP destination (128 bits): champ adresse du destinataire du
paquet.
6.4.2.A.2.a - La sécurité
d’IPv6 :
Il existe deux mécanismes de sécurité dans IPv6. Le
premier est le mécanisme de l'en-tête d'authentification; le
second, une technique d'encapsulation affectée à la
sécurité appelée ESP (Encapsulating Security Payload)
permettant l'intégrité, l'authentification et la
confidentialité.
L'en-tête d'authentification IPv6 cherche
à rendre possible l'intégrité et l'authentification des
datagrammes IPv6. ESP (ou l'en-tête de confidentialité) pour IPv6
permet d'apporter l'intégrité, l'authentification et la
confidentialité dans les datagrammes IPv6.
Il est possible de combiner
à la fois ces deux mécanismes d’IPv6 afin d'obtenir un
meilleur niveau de sécurité.
6.4.2.A.2.b - Les faiblesses
d’IPv6 :
Certains aspects propres à la sécurité (comme la
protection contre l'analyse du trafic) ne sont pas encore fournis par les
mécanismes de sécurité d’IPv6.
6.4.2.B - Le protocole MPLS :
Le protocole MPLS (Multiprotocol Label Switching), est un protocole qui
utilise un mécanisme de routage qui lui est propre, basé sur
l'attribution d'un « label » à chaque paquet. Cela
lui permet de router les paquets en optimisant les passages de la couche 2
à la couche 3 du modèle OSI et d'être indépendant du
codage de celles-ci suivant les différentes technologies (ATM, Frame
Relay, Ethernet etc...)
Le but est d'associer la puissance de la
commutation de la couche 2 avec la flexibilité du routage de la couche 3.
Schématiquement, on peut le représenter comme étant
situé entre la couche 2 (liaison) et la couche 3
(réseau).
6.4.2.B.1 - Les objectifs de MPLS :
L'objectif initial de MPLS était d'apporter la vitesse de
commutation de la couche 2 à la couche 3. L'utilisation de
« label » permet de prendre des décisions de routage
seulement basées sur la valeur du « label » et de ne
pas effectuer des calculs complexes de routage portant sur l'adresse IP au
niveau de la couche 3 du réseau. Cet aspect performance du protocole est
aujourd'hui moins important du fait de l'apparition de composants hardware tels
les commutateurs « switchs » de niveau 3.
MPLS
apporte cependant plusieurs autres bénéfices pour les
réseaux IP :
- Gestion du trafic (Traffic Engineering) c’est à dire la
capacité de configurer le chemin que vont emprunter les différents
flux sur le réseau et d'associer des caractéristiques de
performances à une classe de trafic ;
- Etablissement de VPNs c’est à dire la possibilité
d'établir des VPNs sur un réseau MPLS sans la
nécessité d'utiliser des protocoles de chiffrement ou des
applications clientes particulières ;
- Transport de services associés au niveau 2 ( tels Ethernet, Frame
Relay and ATM ) au dessus d'un noyau IP/MPLS ;
- Suppressions des « Multiple layers » : la plupart
des fournisseurs de réseau utilisent un modèle de recouvrement
où SONET/SDH est déployé en couche 1, le protocole ATM est
utilisé en couche 2 tandis que le protocole IP est utilisé en
couche 3. En utilisant MPLS, les fournisseurs de réseaux peuvent faire
passer plusieurs des fonctions de contrôle de SONET/SDH et d'ATM à
la couche 3, simplifiant de ce fait la gestion du réseau et sa
complexité.
Un chemin basé sur les
mécanismes MPLS (LSP) peut être établi en traversant
plusieurs couches de transports de niveau 2 tels que ATM, Frame Relay ou
l'Ethernet. Un des gros points forts du protocole MPLS est la capacité
de créer les circuits de bout en bout, avec des caractéristiques
de performances spécifiques, à travers n'importe quel type de
support de transport, éliminant le besoin de réseaux de
recouvrement ou de mécanismes de contrôle de niveau 2
seulement.
6.4.2.B.2 - Principes de base du protocole
MPLS :
Dans un réseau mettant en oeuvre le protocole MPLS, tout paquet
entrant se voit attribuer un « label » par un Label Edge
Router (LER). Les paquets sont routés le long d'un Label Switch Path
(LSP) où chaque Label Switch Router (LSR) prend les décisions de
routage en s'appuyant seulement sur la valeur des « label ».
A chaque « saut », le LSR remplace l'ancien
« label » par un nouveau qui indique comment router le
paquet au prochain saut.
6.4.2.B.3 - Mécanismes de
sécurité MPLS :
6.4.2.B.3.a - La sécurité induite
par le fonctionnement intrinsèque du protocole MPLS :
La séparation des flux entre clients sur des routeurs
mutualisés supportant MPLS est assurée par le fait que seul la
découverte du réseau se fait au niveau de la couche 3 et
qu'ensuite le routage des paquets est effectué en s'appuyant uniquement
sur le mécanisme des labels (intermédiaire entre la couche 2 et la
couche 3).
Le niveau de sécurité est le même que
celui de Frame Relay avec les DLCI au niveau 2.
Le déni de service
est en général effectué au niveau 3 (IP). Ici, les paquets
seront quand même routés jusqu'au destinataire au travers du
réseau MPLS en s'appuyant sur les LSPs.
6.4.2.B.3.b - Les VPN MPLS :
Les VPNs s'appuyant sur le protocole MPLS, sont différents de
l'image classique du VPN, à savoir un tunnel chiffré établi
au niveau de la couche 3. Par défaut les tunnels VPN bâtis sur MLPS
ne sont pas cryptés et s’apparentent plutôt à des PVCs
(Private Virtual Circuit) comme avec ATM ou Frame Relay plutôt qu'à
des PVCs établis avec IpSec ou PPTP. Ils s'appuient sur la
séparation des paquets sur la valeur de leurs labels et n'utilisent pas
de méthode de chiffrement ou d'encapsulation. La valeur de ce label n'est
lue que par les LSRs qui appartiennent à un LSP précis.
Les
VPN MPLS permettent d'isoler le trafic entres sites n'appartenant pas au
même VPN, et en étant totalement transparent pour ces sites entre
eux. Ils permettent d'utiliser un adressage privé sans utilisation de
fonctionnalité de NAT et d'avoir un recouvrement d'adresses entre
différents VPNs.
Trois types de VPN sont bâtis autour du
protocole MPLS :
- les VPN de couche 2 ;
- les VPN de couche 3 ;
- les VPN basés sur des routeurs virtuels MPLS.
- - Les VPN de couche 2 :
Les VPN de niveau
2 ou encore « Transparent LAN Services » (TLS) ou
« Virtual Private LAN Services » (VPLS) s’appuient sur
un découplage des technologies du cœur du réseau de celles
des accès.
Ils s'établissent directement au niveau 2 dans
le cas de réseau ATM ou Frame Relay. Ils fournissent des solutions
simples pour des connexions point à point via des tunnels permettant le
transport de n'importe quel protocole de la couche 3. Les LERs en entrée
n'ont pas à gérer les tables de routages et sont donc moins
chargés que dans le cas des VPN MPLS de niveau 3.
Ils s'adressent
plutôt aux fournisseurs d'accès qui ont peu de VPN à
établir et qui veulent une indépendance au niveau du coeur du
réseau. Deux solutions concurrentes s’affrontent basées
respectivement sur une implémentation du protocole LDP ou du protocole
BGP.
- - Les VPN de couche 3 :
Les VPN MPLS de
niveau 3 font l'office d'une RFC 2547. Ils fournissent typiquement plusieurs
classes de services via DiffServ utilisé principalement pour
éviter la congestion du réseau dans le cas de services
temps-réels. Ils peuvent utiliser les mécanismes traditionnels
d'accès au réseau tel Frame Relay en s'appuyant sur BGP ou des
routes statiques pour router les paquets à travers le réseau du
« provider ». Ceci implique qu'ils requièrent une
plus grande coordination entre le client et le « provider »
que l'approche VPN au niveau de la couche 2. Ils sont actuellement les plus
répandus au niveau des offres commerciales.
Une table VRF (VPN
Routing and Forwarding) est construite et maintenue au niveau du LER
d'entrée. Elle n'est seulement consultable que par les paquets
émis par un site faisant parti du VPN (du site émetteur). Cette
table contient les routes reçues du site client directement
connecté ainsi que des autres LERs. La distribution des routes est
contrôlée via EBGP s'appuyant sur des attributs permettant
d'identifier l'ensemble des tables VRF auxquelles un LER distribue les routes
ainsi que les sites autorisés à lui fournir des routes.
Au sein
d'un VPN, un paquet arrivant sur le LER d'entrée MPLS, se voit attribuer
suivant la table VRF un premier label représentant le VPN et le routeur
LER de sortie de celui-ci au sein du réseau VPN. Pour transiter via le
protocole LSP du LER d'entrée jusqu'au LER de sortie, un deuxième
niveau de label est empilé permettant la commutation par label classique
de proche en proche. Une fois le paquet arrivé au bout du tunnel, le
deuxième label est dépilé et le premier label ne donne
accès qu'aux informations de routage associé au
« bon » VPN.
- - Les VPN basés sur des routeurs virtuels
MPLS :
Une autre façon de mettre en place des
VPN est d'utiliser des routeurs virtuels VR (Virtual Router) sur chaque LER du
réseau du fournisseur. Sur chaque LER, il peut y avoir une ou plusieurs
instances de VR. Un VR supporte un et un seul VPN. Deux LERs communiquent
à travers le réseau via un tunnel MPLS ou autre. Un VR est
considéré comme une instance de routeur réel et chacun
comporte des tables de routage et VRF indépendantes.
6.4.2.C - Le protocole OSPF :
Compte tenu de l’explosion du nombre de réseaux et de la
difficulté à maintenir de grandes tables de routage IP, des
mécanismes de routage dynamiques ont été mis au point. Le
premier protocole de routage IP dynamique RIP a été rapidement
abandonné car souffrant de nombreuses limitations. L’IETF a
proposé le protocole OSPF qui tend à s’étendre dans
tous les grands réseaux d’entreprise.
6.4.2.C.1 - Les principes
d’OSPF :
OSPF est un protocole de routage dynamique présentant deux
caractéristiques essentielles :
- il s’agit d’un protocole ouvert, son fonctionnement peut
être connu de tous ;
- il utilise l’algorithme SPF (Shortest Path First) afin
d’élire la meilleure route vers une destination
donnée.
A l’intérieur d’une
même zone OSPF (regroupement des routeurs OSPF d’un même
réseau) les routeurs doivent effectuer les taches suivantes avant de
pouvoir effectuer leur travail de routage :
- établissement de la liste des routeurs
voisins :
chaque routeur OSPF envoie sur chacune de ses
interfaces des paquets HELLO permettant de se « presenter »
à l’ensemble de ses voisins.
- élection du routeur désigné :
dans
une zone OSPF, l’un des routeurs doit être élu
« routeur désigné » (DR pour
« Designated Router ») et un autre « routeur
désigné de secours » (BDR pour « Backup
Designated Router »). Le routeur désigné sert de
référent de la base de données topologique du réseau
et permet de répondre aux trois objectifs suivants :
- réduction du trafic sur l’état des liens du
réseau (il n’existe pas d’échange d’informations
entre l’ensemble des routeurs du réseau mais uniquement entre les
routeurs et le routeur désigné) ;
- amélioration de l’intégrité de la base de
données topologique (car celle-ci est unique) ;
- accélération du temps de convergence (à l’inverse
de RIP) ;
- découverte des routes :
chaque routeur
établit une relation maître/esclave avec le routeur
désigné. Celui-ci initie l’échange
d’informations en transmettant au routeur un résumé de sa
base de données topologique via des paquets de données LSA (Link
State Advertisement). Dans le cas ou le routeur reçoit des informations
jusque là inconnues, il demande une information plus complète
à l’aide de paquets LSR (Link State Request) auxquels le routeur
désigné répond en renvoyant
l’intégralité de l’information contenue dans sa base
topologique à l’aide de paquets LSU (Link State Update).
- élection des routes à utiliser :
une fois
en possession de l’intégralité de la base de données
topologique, chaque routeur créé sa table de routage en calculant
les routes les moins couteuses.
- maintien de la base de données topologique du
réseau :
lors de la détection d’un
changement d’état de liens (des paquets HELLO sont envoyés
périodiquement par les routeurs à leurs voisins) par un routeur,
celui-ci envoie un paquet LSU sur l’adresse multicast 224.0.0.6 : le
routeur désigné ainsi que le routeur de secours
désigné se considèrent comme destinataires et diffusent
l’information sur l’adresse 224.0.0.5 (tous les routeurs OSPF sans
distinction). On parle de protocole d’inondation.
6.4.2.C.2 - Mécanisme de
sécurité au sein d’OSPF :
L’inconvénient principal du routage dynamique est la
possibilité pour un pirate de fausser les tables de routage par
l’insertion de données erronées permettant de dévier
tout ou partie des flux de données. Des mécanismes de
sécurité ont donc été implémentés au
sein d’OSPF permettant de marquer chaque trame OSPF à l’aide
d’une prise d’empreinte MD5 incluant une clé pré
partagée connue des seuls routeurs de la zone.
6.4.2.D - Le protocole SNMP :
Le protocole SNMP (Simple Network Management Protocol) est un protocol
utilisé pour surveiller et gérer les ordinateurs sur un
réseau. Plusieurs failles de sécurité liées à
ce protocole ont été découverts et annoncées par des
organismes de sécurité. Un certain nombre d’outils utilisent
ces failles sous la forme d'attaques par déni de service, en vue de
causer un redémarrage de l'équipement ou même de gagner
l'accès privilégié.
Pour parer aux
défaillances du protocole SNMP, le protocole SECURE SNMP (S-SNMP) a
été proposé en Juillet 1992 par l’IETF via les RFC
1351, 1352, 1353, 1321 en tant que standards proposés. Ce protocole
n’est toujours pas implémenté et l’ensemble des grands
acteurs du marché recommande de stopper le protocole SNMP !!! Cela
ne permet certes pas de régler le problème de la supervision du
parc des ordinateurs clients d’une société comme ACME
Inc !!!
6.4.2.E - Les autres protocoles :
L’adoption du protocole IP par la quasi-totalité des
systèmes informatiques existants rend caduque l’étude des
autres protocoles réseaux.